home *** CD-ROM | disk | FTP | other *** search
- '*************************************************************************
- '* MSSetup Toolkit main
- '**************************************************************************
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
-
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
- DECLARE FUNCTION ShowMaxWindow LIB "MSCUISTF.DLL" (hwnd%) AS INTEGER
- DECLARE FUNCTION RestartWindows LIB "MSCUISTF.DLL" () AS INTEGER
- DECLARE FUNCTION WritePrivateProfileString LIB "kernel" (szSection$, szEntry$, szString$, szFileName$) AS INTEGER
- DECLARE FUNCTION Has256 LIB "MSCUISTF.DLL" (hwnd%) AS INTEGER
- DECLARE FUNCTION Has640 LIB "MSCUISTF.DLL" (hwnd%) AS INTEGER
- DECLARE FUNCTION HasWave LIB "MSCUISTF.DLL" () AS INTEGER
-
-
- DECLARE FUNCTION InstallQTW AS INTEGER
- DECLARE FUNCTION FindOld AS INTEGER
-
- CONST TRUE = 1
- CONST FALSE = 0
- '-------------------------------Dialog ID's------------------------------
- CONST NOT256 = 402
- CONST NOGOODRESO = 403
- CONST NOWAVE = 404
- CONST NOGOODWINVER = 401
- CONST FINDQTW = 110
- CONST NOQTW = 111
- CONST WANTRESTART = 405
-
- CONST WELCOME = 100
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
-
- CONST LOGO = 1 '' Bitmap ID
-
-
-
- CONST QTW_NOINSTALL = 0
- CONST QTW_INSTALL = 1
-
- '------------------------------------------------------------------------
- GLOBAL CuiDll$ '' Destination directory.
- GLOBAL DestDir$ '' Destination directory.
- GLOBAL SrcDir$ '' Source directory.
- GLOBAL FilesDir$ '' Relative Path from SrcDir$ to Files
- GLOBAL AppDescription$ '' Description of the application : a line of text that describe the application
- GLOBAL AppTitle$ '' Title that appear in all dialog box
- GLOBAL AppName$ '' Name of the application : on 8 letters use for pathname
- GLOBAL ProgName$ '' CDROM exe access : on 8 letters (no extension .EXE)
- GLOBAL DefaultDestDir$ '' Default destination directory
- GLOBAL ProgTag$ '' Tag in program group (or application name for windows user)
-
- GLOBAL iCur%
- GLOBAL PathWindowsSystem$
- GLOBAL PathWindows$
- GLOBAL QtwCurrentVersion$
- GLOBAL QtwInstalled%
- GLOBAL APPNEEDS$ ''Disk space costs per drive
- GLOBAL EXTRACOSTS$ ''List of extra costs to add per drive
- GLOBAL ReadMe$
-
-
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- FilesDir$ = "SETUP"
- APPNEEDS$ = "AppNeeds"
- EXTRACOSTS$ = "ExtraCosts"
- PathWindowsSystem$ = GetWindowsSysDir
- PathWindows$ = GetWindowsDir
- FirstHDLetter$ = "C:\"
-
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '+++++++++++++++++++++++CAN BE MODIFIED+++++++++++++++++++++++++++++++++++
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- AppDescription$ = "Nature Interactive"
- ProgTag$ = "Nature Interactive"
- AppTitle$ = "Nature Interactive"
- AppName$ = "NATINT"
- ProgName$ = "NATURE INTERACTIVE"
-
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- QtwCurrentVersion$ = "2.0.1.41"
- ReadMe$ = "lisezmoi.txt"
-
-
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '+++++++++++++++++++++++++++++++ S T A R T +++++++++++++++++++++++++++++++
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-
- INIT:
- '-----------------------initialisation------------------------------------
- ' i% = SetSizeCheckMode(scmOff)
- CuiDll$ = "mscuistf.dll" ''Custom user interface dll
-
- 'SetBitmap CuiDll$, LOGO
- SetTitle AppTitle$
- i% = ShowMaxWindow(HwndFrame())
-
- '-----------------------special things------------------------------------
- FOR i% = 1 TO 26 STEP 1
- AddListItem EXTRACOSTS$, "16384"
- NEXT i%
-
- '-----------------------get first hard drive------------------------------
-
- GetLocalHardDrivesList "HardDrives"
- NumDrives% = GetListLength("HardDrives")
- IF NumDrives% > 0 THEN
- FirstHDLetter$ = GetListItem("HardDrives", 1) + ":\"
- END IF
-
- DefaultDestDir$ = FirstHDLetter$ + AppName$
- DestDir$ = DefaultDestDir$
-
- CDStat% = CD_FIRSTINSTALL
- QTWStat% = QTW_INSTALL
-
-
- '-----------------------Windows 3.1 or better-----------------------------
- IF GetWindowsMajorVersion() < 3 THEN
- SetSymbolValue "DLGTITLE", AppTitle$
- sz$ = UIStartDlg(CuiDll$, NOGOODWINVER, "FInfoDlgProc", 0, "")
- UIPopAll
- ERROR STFERR
- END IF
-
- IF GetWindowsMajorVersion() = 3 AND GetWindowsMinorVersion() < 10 THEN
- SetSymbolValue "DLGTITLE", AppTitle$
- sz$ = UIStartDlg(CuiDll$, NOGOODWINVER, "FInfoDlgProc", 0, "")
- UIPopAll
- ERROR STFERR
- END IF
-
- '-----------------------Resolution----------------------------------------
- ' IF Has640(HwndFrame()) = 0 THEN
- ' SetSymbolValue "DLGTITLE", AppTitle$
- ' sz$ = UIStartDlg(CuiDll$, NOGOODRESO, "FInfoDlgProc", 0, "")
- ' UIPopAll
- ' ERROR STFERR
- ' END IF
-
- '-----------------------Colors--------------------------------------------
- ' if Has256(HwndFrame()) = 0 THEN
- ' SetSymbolValue "DLGTITLE", AppTitle$
- ' sz$ = UIStartDlg(CuiDll$, NOT256, "FInfoDlgProc", 0, "")
- ' UIPopAll
- ' ERROR STFERR
- ' END IF
- '-----------------------Sound card---------------------------------------
- IF HasWave() = 0 THEN
- SetSymbolValue "DLGTITLE", AppTitle$
- sz$ = UIStartDlg(CuiDll$, NOWAVE, "FInfoDlgProc", 0, "")
- UIPopAll
- ERROR STFERR
- END IF
-
- SetSymbolValue "DLGTITLE", AppTitle$
- sz$ = UIStartDlg(CuiDll$, WELCOME, "FInfoDlgProc", 0, "")
- UIPop 1
- IF sz$ <> "CONTINUE" THEN
- ERROR QUITNOMESSAGE
- END IF
-
-
- '-----------------------read main.inf-------------------------------------
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "NATURE.INF"
- END IF
- ReadInfFile szInf$
-
- '-----------------------QuickTime-----------------------------------------
-
- j% = InstallQTW
-
- '-----------------------Create Group--------------------------------------
- CreateProgmanGroup AppDescription$, "", cmoVital
- ShowProgmanGroup AppDescription$, 1, cmoVital
- ' CreateProgmanItem AppDescription$, "Nature interactive", MakePath(GetSymbolValue("STF_SRCDIR"),"NATURE.EXE"), MakePath(GetSymbolValue("STF_SRCDIR"), "NATURE.ICO") + ",,,,,", cmoOverwrite
- CreateProgmanItem AppDescription$, "Nature interactive", MakePath(GetSymbolValue("STF_SRCDIR"),"NATURE\NATURE.EXE"),"", cmoOverwrite
- ' CreateProgmanItem AppDescription$, "Lisez-moi", "NOTEPAD.EXE " + MakePath(GetSymbolValue("STF_SRCDIR"),Readme$), "", cmoOverwrite
-
- GOTO QUIT
-
-
-
- '*************************************************************************
- '*************************************************************************
- '******************************* E N D ***********************************
- '*************************************************************************
- '*************************************************************************
-
-
-
- '------------------------------------------------------------------------
- QUIT:
- ON ERROR GOTO OUTPROG
- IF ERR = 0 THEN
- SetSymbolValue "DLGTITLE", AppTitle$
- sz$ = UIStartDlg(CuiDll$, EXITSUCCESS, "FInfoDlgProc", 0, "")
- UIPop 1
-
- IF QtwInstalled% = QTW_INSTALL THEN
- SetSymbolValue "DLGTITLE", AppTitle$
- sz$ = UIStartDlg(CuiDll$, WANTRESTART, "FInfoDlgProc", 0, "")
- UIPop 1
- IF sz$ = "CONTINUE" THEN
- s% = RestartWindows()
- ENDIF
- ENDIF
- GOTO OUTPROG
- ELSEIF ERR = STFQUIT THEN
- dlg% = EXITQUIT
- ELSEIF ERR = QUITNOMESSAGE THEN
- GOTO OUTPROG
- ELSE
- dlg% = EXITFAILURE
- END IF
- QUITL1:
- SetSymbolValue "DLGTITLE", AppTitle$
- sz$ = UIStartDlg(CuiDll$, dlg%, "FInfoDlgProc", 0, "")
- UIPop 1
-
- '------------------------------------------------------------------------
- OUTPROG:
- END
-
- '------------------------------------------------------------------------
-
-
- FUNCTION InstallQTW STATIC AS INTEGER
- QtwInstalled% = QTW_NOINSTALL
- j% = FindOld()
- IF j% = 1 THEN
- SetSymbolValue "DLGTITLE", AppTitle$
- sz$ = UIStartDlg(CuiDll$, FINDQTW, "FInfoDlgProc", 0, "")
- UIPop 1
- IF sz$ <> "CONTINUE" THEN
- ERROR STFERR
- ENDIF
- ELSEIF j% = 2 THEN ' version correcte
- EXIT FUNCTION
- ' ELSE
- ' SetSymbolValue "DLGTITLE", AppTitle$
- ' sz$ = UIStartDlg(CuiDll$, NOQTW, "FInfoDlgProc", 0, "")
- ' UIPop 1
- END IF
-
- ClearCopyList
- SrcDir$ = MakePath(GetSymbolValue("STF_SRCDIR"),FilesDir$)
- AddSectionFilesToCopyList "QTSYS", SrcDir$, PathWindowsSystem$
-
- CopyFilesInCopyList
-
- rem Update WIN.INI and SYSTEM.INI
-
- i% = WritePrivateProfileString("MCI", "QTWVideo", MakePath(PathWindowsSystem$, "mciqtw.drv"), "SYSTEM.INI")
- CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "drivers", "VIDC.MSVC", "MSVIDC.DRV", cmoOverwrite
-
- rem Create QTW.INI
- ini$ = MakePath(PathWindows$, "QTW.INI")
- CreateIniKeyValue ini$, "QuickTime for Windows", "Implementation", "Full" , cmoOverwrite
- RemoveIniKey ini$, "video", "optimize", cmoNone
- QtwInstalled% = QTW_INSTALL
-
- END FUNCTION
-
-
- '------------------------------------------------------------------------
- FUNCTION FindOld STATIC AS INTEGER
-
-
- FindOld = 0
- cursor% = ShowWaitCursor()
- FilePath$ = FindFileUsingFileOpen(MakePath(GetWindowsSysDir(),"qtim.dll"))
- RestoreCursor cursor%
- IF (FilePath$ <> "") THEN
- FindOld = 1
- szVersion$ = GetVersionOfFile(FilePath$)
-
- IF szVersion$ > QtwCurrentVersion$ OR szVersion$ = QtwCurrentVersion$ THEN
- FindOld = 2
- END IF
- EXIT FUNCTION
- END IF
- END FUNCTION
-
-
-
- '
- '
- '*************************************************************************
- '** Purpose:
- '** Appends a file name to the end of a directory path,
- '** inserting a backslash character as needed.
- '** Arguments:
- '** szDir$ - full directory path (with optional ending "\")
- '** szFile$ - filename to append to directory
- '** Returns:
- '** Resulting fully qualified path name.
- '*************************************************************************
-
- FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
- IF szDir$ = "" THEN
- MakePath = szFile$
- ELSEIF szFile$ = "" THEN
- MakePath = szDir$
- ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
- MakePath = szDir$ + szFile$
- ELSE
- MakePath = szDir$ + "\" + szFile$
- END IF
- END FUNCTION
-